package cn.cqie.attendance.student.mapper;

import cn.cqie.attendance.student.domian.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 学生请假Mapper接口
 * @author lfj
 */
@Mapper
public interface StudentLeaveMapper {

    /**
     * 查询请假信息
     * @return 请假集合
     */
    List<Leaves> queryLeaves(QueryLeaves queryLeaves);

    /**
     * 查询请假详情
     * @param id 请假id
     * @param stuId 学生id
     * @return 请假信息
     */
    List<Student> queryLeaveDetail(@Param("id") Long id,@Param("stuId") Long stuId);
//
    /**
     * 查询请假日志
     * @param id 请假id
     * @param stuId 学生id
     * @return 请假日志集合
     */
    List<LeaveLog> queryLeaveLog(@Param("id") Long id, @Param("stuId") Long stuId);

    /**
     * 新增请假
     * @param addLeaves 请假信息
     * @return 新增条数
     */
    int addLeave( AddLeaves addLeaves);

    /**
     * 修改请假记录
     * @param addLeaves 请假信息
     * @return 修改条数
     */
    int updateLeave(@Param("a") AddLeaves addLeaves);

    /**
     * 根据学生id查询学生信息
     * @param id 学生id
     * @return
     */
    List<Student> queryStudent(@Param("id") Long id);

    /**
     * 根据请假id查询请假附件
     * @param id 请假id
     * @return
     */
    List<Attachment> queryAnnex(@Param("id") Long id);

    /**
     * 查询当前的数据
     * @return
     */
    Integer queryLeavesId();

    /**
     * 新增请假日志
     * @return
     */
    int addLeaveLog(AddLeaveLog addLeaveLog);
}
